home *** CD-ROM | disk | FTP | other *** search
/ Minami 78 / MINAMI78.iso / Extra / winamp53.exe / $R0 / Winamp Modern / scripts / shadecontrol.m < prev    next >
Text File  |  2006-02-02  |  5KB  |  192 lines

  1. #include <lib/std.mi>
  2. #include "attribs.m"
  3.  
  4. function setObjects(int w);
  5. function setSongtickerScrolling();
  6.  
  7. Global Group frameGroup, gX1,gX2,gX3,display,display2,displaytimer,displayticker,displayvis;
  8. Global Button btnExpand,btnReduce,shadeeq;
  9. Global Layout main;
  10. Global Layout main_normal;
  11. Global Layer volumebar;
  12. Global Timer SongTickerTimer;
  13. Global Text SongTicker;
  14. Global Button colorthemes;
  15.  
  16. System.onScriptLoaded() {
  17.     initAttribs();
  18.  
  19.     frameGroup = getScriptGroup();
  20.     main = frameGroup.getParentLayout();
  21.     main_normal = frameGroup.getParentLayout().getContainer().getLayout("normal");
  22.     gX1 = frameGroup.findObject("shadeX1");
  23.     gX2 = frameGroup.findObject("shadeX2");
  24.     gX3 = frameGroup.findObject("shadeX3");
  25.     shadeeq = frameGroup.findObject("shadeeq");
  26.     display = frameGroup.findObject("shadedisplay");
  27.     display2 = frameGroup.findObject("shadedisplay2");
  28.     displaytimer = frameGroup.findObject("shadetimer");
  29.     displayticker = frameGroup.findObject("shadeticker");
  30.     displayvis = frameGroup.findObject("shadevis");
  31.     btnExpand = frameGroup.findObject("shade.expand");
  32.     btnReduce = frameGroup.findObject("shade.reduce");
  33.     colorthemes = frameGroup.findObject("shadect");
  34.  
  35.     SongTicker = frameGroup.findObject("SongtickerShade");
  36.     SongTickerTimer = new Timer;
  37.     SongTickerTimer.setDelay(1000);
  38.  
  39.     volumebar = frameGroup.findObject("volumebarShade");
  40.     volumebar.setXmlParam("w",integertostring( (system.getVolume()/255) *40 + 5));
  41.  
  42.     setSongtickerScrolling();
  43.  
  44. }
  45.  
  46. System.onScriptUnloading() {
  47.     delete SongTickerTimer;
  48. }
  49.  
  50.  
  51. SongTickerTimer.onTimer() {
  52.     SongTicker.setText("");
  53.     SongTickerTimer.stop();
  54. }
  55.  
  56. frameGroup.onResize(int x, int y, int w, int h) {
  57.   setObjects(w);
  58. }
  59.  
  60. shadeeq.onLeftClick() {
  61.   eq_visible_attrib.setData("1");
  62. }
  63.  
  64. setObjects(int w) {
  65.  
  66.     int ShowButtons=getPrivateInt("winamp5", "ShowShadeButtons", 0);
  67.  
  68.     if (ShowButtons) {
  69.         btnExpand.show();
  70.         btnReduce.hide();
  71.     } else {
  72.         btnExpand.hide();
  73.         btnReduce.show();
  74.     }
  75.  
  76.     gX1.hide();
  77.     gX2.hide();
  78.     gX3.hide();
  79.     display.hide();
  80.     display2.hide();
  81.     displaytimer.hide();
  82.     displayticker.hide();
  83.     displayvis.hide();
  84.  
  85.     if (w>400) {
  86.         int w_display=w-356;
  87.         display.setXMLParam("w", integertostring(w_display));
  88.         display.show();
  89.         displaytimer.show();
  90.  
  91.         if (w>420) {
  92.             displayticker.show();
  93.             displayticker.setXMLParam("w", integertostring(w_display));
  94.  
  95.  
  96.  
  97.  
  98.             if (w>560) {
  99.                 display.hide();
  100.                 display2.setXMLParam("w", integertostring(w_display-45));
  101.                 display2.show();
  102.                 displayticker.setXMLParam("w", integertostring(w_display-56));
  103.  
  104.                 if (ShowButtons) {
  105.                     gX1.setXMLParam("x", "-100");
  106.                     gX1.show();
  107.  
  108.                     if (w>583) {
  109.                         display2.setXMLParam("w", integertostring(w_display-68));
  110.                         displayticker.setXMLParam("w", integertostring(w_display-79));
  111.  
  112.                         gX1.setXMLParam("x", "-123");
  113.  
  114.                         gX2.setXMLParam("x", "-80");
  115.                         gX2.show();
  116.  
  117.                         if (w>642) {
  118.                             display2.setXMLParam("w", integertostring(w_display-127));
  119.                             displayticker.setXMLParam("w", integertostring(w_display-138));
  120.  
  121.                             gX1.setXMLParam("x", "-182");
  122.  
  123.                             gX2.setXMLParam("x", "-139");
  124.  
  125.                             gX3.setXMLParam("x", "-116");
  126.                             gX3.show();
  127.  
  128.                             if (w>660) {
  129.                                 displayvis.setXMLParam("x", integertostring(-257));
  130.                                 displayvis.show();
  131.                                 displayticker.setXMLParam("w", integertostring(w_display-194));
  132.                             }
  133.  
  134.                         }
  135.                     }
  136.                 } else {
  137.                     display2.setXMLParam("w", integertostring(w_display));
  138.                     displayvis.setXMLParam("x", integertostring(-130));
  139.                     displayvis.show();
  140.                     displayticker.setXMLParam("w", integertostring(w_display-66));
  141.  
  142.                 }
  143.  
  144.             }
  145.         }
  146.     }
  147. }
  148.  
  149. System.onKeyDown(String key) {
  150.   if (StrLeft(key,4) == "ctrl" && StrSearch(key, "+w") != -1 && (main.isActive() || main_normal.isActive())) {
  151.     if (main.isVisible())
  152.       main.getContainer().switchToLayout("normal");
  153.     else
  154.       main.getContainer().switchToLayout("shade");
  155.     complete;
  156.   }
  157. }
  158.  
  159. btnExpand.onleftClick() {
  160.     setPrivateInt("winamp5", "ShowShadeButtons", 0);
  161.     setObjects(main.getGUIw());
  162. }
  163.  
  164. btnReduce.onleftClick() {
  165.     setPrivateInt("winamp5", "ShowShadeButtons", 1);
  166.     setObjects(main.getGUIw());
  167. }
  168.  
  169. System.onvolumechanged(int newvol)
  170. {
  171.     volumebar.setXmlParam("w",integertostring( (newvol/255) *40 + 5));
  172.     SongTickerTimer.start();
  173.     SongTicker.setText("Volume:" + System.integerToString(newvol/2.55) + "%");
  174. }
  175.  
  176. songticker_scrolling_enabled_attrib.onDataChanged() {
  177.     setSongtickerScrolling();
  178. }
  179.  
  180. setSongtickerScrolling() {
  181.     if (songticker_scrolling_enabled_attrib.getData()=="1") {
  182.         SongTicker.setXMLParam("ticker","1");
  183.     } else {
  184.         SongTicker.setXMLParam("ticker","0");
  185.     }
  186. }
  187.  
  188. colorthemes.onRightButtonDown(int x, int y) {
  189.   triggerAction(colorthemes, "ThemesSlotsMenu", "");
  190.   complete;
  191. }
  192.